﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using UAXInversionesWeb.logicaNegocio;

namespace UAXInversionesWeb
{
    public partial class FormularioAtlaCliente : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            String codigoCifrado = (string)Request["code"].Replace((char)32,'+');

            if (codigoCifrado != null)
            {
                string codigoTextoPlano = RijndaelSimple.Decrypt(codigoCifrado,
                                                            "Alt@Cl1ente","s@1tValue","SHA1",
                                                            2,"@1B2c3D4e5F6g7H8",256);

                if (Proxy.comprobarSolicitudAlta(codigoTextoPlano))
                {
                    fac_email.Text = codigoTextoPlano;
                }
                else
                {
                    Response.Redirect("Default.aspx");
                }
            }
            else
            {
                Response.Redirect("Default.aspx");
            }
        }

        protected void CancelButton_Click(object sender, EventArgs e)
        {
            Response.Redirect("Default.aspx");
        }

        protected void enviarFormularioButton_Click(object sender, EventArgs e)
        {
            Cliente c = new Cliente();
            c.setNombre(fac_nombre.Text);
            c.setApellidos(fac_app.Text);
            c.setDNI(fac_dni.Text);
            c.setFechaNacimiento((DateTime)fac_fechaN.SelectedDate);
            c.setSexo(fac_sexo.SelectedItem.Value.ToCharArray()[0]);

            Direccion dir = new Direccion();
            dir.setTipoCalle(fac_dirTipo.SelectedItem.Text);
            dir.setNombreCalle(fac_direccion.Text);
            dir.setNumeroCalle(Int32.Parse(fac_dirNum.Text));
            dir.setPiso(Int32.Parse(fac_dirPiso.Text));
            dir.setLetra(fac_dirLetra.Text.ToCharArray()[0]);
            dir.setEscalera(fac_dirEsc.Text);
            dir.setLocalidad(fac_localidad.Text);
            dir.setProvincia(fac_provincia.Text);
            dir.setCP(Int32.Parse(fac_cp.Text));
            dir.setPais(fac_pais.Text);
            c.setDireccion(dir);

            long tempValue = 0;
            if (long.TryParse(fac_telfF.Text, out tempValue))
            {
                c.setTelefonoFijo(tempValue);
            }

            if (long.TryParse(fac_telfM.Text, out tempValue))
            {
                c.setTelefonoMovil(tempValue);
            }

            if (long.TryParse(fac_fax.Text,out tempValue))
            {
                c.setFax(tempValue);
            }

            c.setCorreoElectronico(fac_email.Text);

            DatosBancarios banco = new DatosBancarios();
            banco.setNombreBanco(fac_bancoName.Text);
            banco.setDireccionOficina(fac_bancoDir.Text);
            banco.setNumeroDeCuenta(decimal.Parse(fac_bancoCuenta.Text));
            c.setDatosBancarios(banco);

            bool result = Proxy.altaClienteFormulario(c);

            if (result)
            {
                Response.Write("<script>alert('Formulario enviado.')</script>");
            }
        }
    }
}
